package ru.study.thinkin.chapter13;

import java.util.Random;

class Initable {
	static final int  staticFinal=147;
	static final int  staticFinal2=ClassInitialization.rand.nextInt(10000);
	static {System.out.println("Инициализация Initable");}
}

class Initable2 {
	static int staticNonFinal=247;	
	static {System.out.println("Инициализация Initable2");}
}

class Initable3 {
	static int staticNonFinal=347;	
	static {System.out.println("Инициализация Initable3");}
}


public class ClassInitialization {
	public static Random rand =  new Random(47);
	
	public static void main(String[] args) throws Exception {
		Class initable = Initable.class;
		System.out.println("После создания ссылки Initiable");
		//Не Приводит к инициализации
		System.out.println(Initable.staticFinal);
		System.out.println("++++++");
		//Приводит к инициализации
		System.out.println(Initable.staticFinal2);
		//Приводит к инициализации
		System.out.println(Initable2.staticNonFinal);
		System.out.println("-=-=-");
		Class initable3 = Class.forName("ru.study.thinkin.chapter13.Initable3");
		System.out.println("После создания ссылки Initiable3");
		 
	}

}
